﻿using System;
using System.Windows.Forms;
using InicioDeSesion;

namespace ModuloDeInventario
{
    public partial class Faprod : Form
    {
        public Faprod()
        {
            InitializeComponent();
        }

        private void Faprod_FormClosing(object sender, FormClosingEventArgs e)
        {
            new Fmp().Show();
        }

        private void productosBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            if (Program1.admin || Program1.modi)
            {
                this.Validate();
                this.productosBindingSource.EndEdit();
                this.tableAdapterManager.UpdateAll(this.contabilidadDataSet);
            }
            if (Program1.ofi)
            {
                DialogResult resultado;
                resultado = MessageBox.Show("Estas Seguro De Que Todo Esta En Orden", "Verificación", MessageBoxButtons.YesNo);
                if (resultado == DialogResult.Yes)
                {
                    this.Validate();
                    this.productosBindingSource.EndEdit();
                    this.tableAdapterManager.UpdateAll(this.contabilidadDataSet);

                        bindingNavigatorMoveLastItem.Enabled = false;
                        bindingNavigatorMoveNextItem.Enabled = false;
                        bindingNavigatorCountItem.Enabled = false;
                        bindingNavigatorPositionItem.Enabled = false;
                        bindingNavigatorMoveFirstItem.Enabled = false;
                        bindingNavigatorMovePreviousItem.Enabled = false;
                        bindingNavigatorAddNewItem.PerformClick();
                        codigoTextBox.Focus();

                }
                if (resultado == DialogResult.No)
                {
                    codigoTextBox.Focus();
                }
            }         
        }

        private void Faprod_Load(object sender, EventArgs e)
        {
            // TODO: esta línea de código carga datos en la tabla 'contabilidadDataSet.Proveedores' Puede moverla o quitarla según sea necesario.
            this.proveedoresTableAdapter.Fill(this.contabilidadDataSet.Proveedores);
            // TODO: esta línea de código carga datos en la tabla 'contabilidadDataSet.LineaDeProductos' Puede moverla o quitarla según sea necesario.
            this.lineaDeProductosTableAdapter.Fill(this.contabilidadDataSet.LineaDeProductos);
            // TODO: esta línea de código carga datos en la tabla 'contabilidadDataSet.Productos' Puede moverla o quitarla según sea necesario.
            this.productosTableAdapter.Fill(this.contabilidadDataSet.Productos);
            
            bindingNavigatorAddNewItem.PerformClick();

            if (Program1.ofi)
            {
                todosToolStrip.Enabled = false;
                porCodigoToolStrip.Enabled = false;
                porNombreToolStrip.Enabled = false;
                bindingNavigatorDeleteItem.Enabled = false;
                bindingNavigatorCountItem.Enabled = false;
                bindingNavigatorMoveFirstItem.Enabled = false;
                bindingNavigatorMoveLastItem.Enabled = false;
                bindingNavigatorMoveNextItem.Enabled = false;
                bindingNavigatorMovePreviousItem.Enabled = false;
                bindingNavigatorPositionItem.Enabled = false;
                productosDataGridView.DataSource = null;
            }
            if (Program1.modi)
            {
                bindingNavigatorDeleteItem.Enabled = false;
            }
        }

        public int EvaluacionReportes()
        {
            this.productosTableAdapter.Fill(this.contabilidadDataSet.Productos);
            int contador = this.contabilidadDataSet.Productos.Rows.Count;
            return
                contador;
        }

        private void todosToolStripButton_Click(object sender, EventArgs e)
        {
            try
            {
                this.productosTableAdapter.Todos(this.contabilidadDataSet.Productos);
            }
            catch (System.Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }

            param1ToolStripTextBox.Text = "";
            param1ToolStripTextBox1.Text = "";
        }

        private void porCodigoToolStripButton_Click(object sender, EventArgs e)
        {
            try
            {
                this.productosTableAdapter.PorCodigo(this.contabilidadDataSet.Productos, param1ToolStripTextBox.Text);
            }
            catch (System.Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }

            param1ToolStripTextBox.Text = "";
            param1ToolStripTextBox1.Text = "";
        }

        private void porNombreToolStripButton_Click(object sender, EventArgs e)
        {
            try
            {
                this.productosTableAdapter.PorNombre(this.contabilidadDataSet.Productos, param1ToolStripTextBox1.Text);
            }
            catch (System.Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }

            param1ToolStripTextBox.Text = "";
            param1ToolStripTextBox1.Text = "";
        }

        private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
        {
            if (Program1.ofi)
            {
                bindingNavigatorCountItem.Enabled = false;
                bindingNavigatorMoveFirstItem.Enabled = false;
                bindingNavigatorMoveLastItem.Enabled = false;
                bindingNavigatorMoveNextItem.Enabled = false;
                bindingNavigatorMovePreviousItem.Enabled = false;
                bindingNavigatorPositionItem.Enabled = false;
            }
        }
    }
}
